home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / GRAPHICS / GAMLIB21.ZIP / WOW.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-09  |  1.8 KB  |  91 lines

  1. #include <graph.h>
  2. #include <games.h>
  3.  
  4. void _rocksfunc (void);
  5. void _ballfunc (void);
  6. void _wowfunc (void);
  7.  
  8. int videomem=40960,vscreen,wow,ball,rocks,temprocks,count;
  9.  
  10. main()
  11. {
  12.     vscreen=_amem(4000);
  13.     rocks=_amem(3030);
  14.     ball=_amem(273);
  15.     wow=_amem(171);
  16.     temprocks=_amem(29);
  17.  
  18.     _setvideomode (_MRES256COLOR);
  19.     _clsv (videomem,64000,0);
  20.     LoadPCX ("rocks.pcx",vscreen);
  21.     _getv (0,0,320,150,rocks,vscreen,320);
  22.     _getv (0,150,104,25,wow,vscreen,320);
  23.     LoadPCX ("ball.pcx",vscreen);
  24.     _getv (0,0,66,66,ball,vscreen,320);
  25.     _clsv (vscreen,64000,0);
  26.  
  27.     for (count=320; count>0; count=count-2)
  28.     {
  29.         _putvc (count,25,320,150,rocks,videomem,320,200);
  30.     }
  31.     _putv (0,25,320,150,rocks,vscreen,320);
  32.     for (count=2; count<66; count++)
  33.     {
  34.         _scale (65,65,0,25,count,count+25,ball,vscreen,66,320);
  35.         _copywindow (0,25,0,25,320,150,vscreen,videomem,320);
  36.         _putv (0,25,320,150,rocks,vscreen,320);
  37.     }
  38.  
  39.     while (kbhit()==0)
  40.     {
  41.         _rocksfunc();
  42.         _ballfunc();
  43.         _wowfunc();
  44.         _copywindow (0,25,0,25,320,150,vscreen,videomem,320);
  45.     }
  46.     _damem (vscreen);
  47.     _damem (rocks);
  48.     _damem (ball);
  49.     _damem (wow);
  50.     _damem (temprocks);
  51.  
  52.     _setvideomode (_DEFAULTMODE);
  53. }
  54.  
  55. void _rocksfunc(void)
  56. {
  57.     _getv (0,0,2,150,temprocks,rocks,320);
  58.     _scrollleft (320,150,rocks,2);
  59.     _putv (318,0,2,150,temprocks,rocks,320);
  60.     _putv (0,25,320,150,rocks,vscreen,320);
  61. }
  62.  
  63. void _ballfunc(void)
  64. {
  65.     static int x=0,y=0,xdirection=4,ydirection=4;
  66.  
  67.     x=x+xdirection;
  68.     y=y+ydirection;
  69.     if (x>254)
  70.         x=254,xdirection=-4;
  71.     if (x<0)
  72.         x=0,xdirection=4;
  73.     if (y>109)
  74.         y=109,ydirection=-4;
  75.     if (y<25)
  76.         y=25,ydirection=4;
  77.     _spritev (x,y,66,66,ball,vscreen,320,0);
  78. }
  79.  
  80. void _wowfunc(void)
  81. {
  82.     static int x=-100,y=88;
  83.  
  84.     x++;
  85.     if (x>420)
  86.         x=-100;
  87.  
  88.     _spritevc (x,y,104,25,wow,vscreen,320,200,0);
  89. }
  90.  
  91.